/*Copyright (C) 2009 - 2011 MASSART GAUTHIER

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef FONCTIONS_HEADER
# define FONCTIONS_HEADER
# define CONFIG_FILENAME 			"conf.ini"

void bienvenue_1(const char *maj);  /*Affiche une animation lors du démarage du programme*/
void bienvenue_2(void);  /*Affiche le nom du jeu ainsi que la version dans un cadre*/
void verif_caractere_xy_1(short x, short y);  /*Affiche le caractère voulu au bon endroit lors du balayage horizontal de l'écran*/
void verif_caractere_xy_2(short x, short y);  /*Affiche le caractère voulu au bon endroit lors du balayage vertical de l'écran*/
void couleur_flash_1(short x, short y);
void couleur_flash_2(short x, short y);
void balayage_horizontal(void);  /*Affiche des caractères de gauche à droite pour les lignes paires et de droite à gauche pour les lignes impaires*/
void balayage_vertical(void);  /*Affiche des caractères de haut en bas pour les lignes pair et de bas en haut pour les ligne impaire*/

int type_mvt_snake(char PositionNext);
int type_mvt_excit(char PositionNext);
int determiner_direction(long touche_appuyee);
void afficher_char_bullet(int nb);

void anim_fenetre_jeu(void); /*Animation tuto de redimentionnement de la console Windows*/
void bravo(void);  /*Animation bravo*/
void gagner(void);  /*Animation gagné*/
void perdu(void);  /*Animation perdu*/

void credit(void);  /*Affiche les crédits*/
void historiques(void);  /*Affiche les historiques des diférents jeux*/
void balayage_horizontal_croix(void);  /*Affiche un dégradé de caractères du haut vers le bas*/
void quitter(void);  /*Affiche une animation avec une baisse du son*/

void vider_buffer(void);
void modif_conf(void);
void lire_conf(void);
int compter_score(char *fichierAOuvrir);
void save_score(char jeu[20], long v1, long v2, char texte1[100]);
long lire_suppr_score(char jeu[20], bool lire);
void modif_prenom(void);
void lire_prenom(void);
void afficher_char_fullblock(int nb, int couleur);
int afficher_barre(long debut, long fin, long saut, long variable);
long afficher_barre_full(long debut, long fin, long saut, long variable);
void nom_couleur(int couleur, char *nom);
void afficher_sous_titre(const char *titre, bool animation);
int couleur_nom(char *nom);
void afficher_temps(int y, int x, int type, long millisecondes);
int get_time_ms(void); //retourne le temps passé depuis le début de la fonction qui l'appel
int get_dif_time_ms(int *dernier_temps);//retourne le temps passé depuis le dernier appel de cette fonction
void decaler(int nb, int temps, bool droite);

void affichage_mat(char mat[], short min, short max, char begin[], char end[]);
void disp_browse(char phrase[], short col, short row, short dir, short cross);
#endif /*ifndef FONCTIONS_HEADER*/
